1. Field of the Invention
The present invention relates to client computers that are bootable over a network and, in particular, client computers that may be serviced by multiple boot servers. More specifically, the present invention relates to a method for remotely managing the means by which a target device may choose its operating system.
2. Description of Related Art
Some current computing devices include support for pre-boot extensions to download an operating system (OS) from a network to which they are attached. Such target computing devices include computer motherboards, network adapters and boot diskettes. These devices rely on extensions to the bootstrap protocol (BOOTP) and to the dynamic host configuration protocol (DHCP). Such extensions are often termed the preboot execution environment (PXE) and require a DHCP/PXE server and a boot image negotiation layer (BINL) server.
BOOTP is a transmission control protocol/Internet protocol (TCP/IP) used by a diskless workstation, network computer (NC) or other target device to obtain its IP address and other network information, such as server address and default gateway. Upon startup, the target device sends out a BOOTP request to the BOOTP server, which returns the required information. The BOOTP request and response use an IP broadcast function, which is able to send messages before a specific IP address for a target device is known.
DHCP is software that automatically assigns an IP address to a target device logging onto a TCP/IP network. DHCP eliminates the need for manually assigning permanent IP addresses.
PXE enables a client network computer or other target device that lacks a native operating system to locate and acquire a small network bootstrap program (NBP) from a BINL server. The target device may acquire this NBP from a BINL server through a network attachment. PXE also provides a means for running the NPB on the target device. This allows the target device to continue acquiring additional software from the network that may be required to make the target device capable of performing the more complex and useful tasks assigned to it by an enterprise.
PXE relies on extensions of DHCP as the means by which the target device locates a BINL server from which to acquire an NPB. A facilitating property of DHCP is that the target device does not need the address of any other computer. The target device performs a DHCP broadcast to discover any PXE proxy server that can recognize that the target device is PXE-capable. The DHCP proxy server sends a DHCP offer to the target device. The offer contains the address of the BINL server from which the target device may obtain a NBP. The target device then obtains the NBP and all necessary software from the boot server via a trivial file transfer protocol (TFTP).
Current approaches to selecting the operating system to boot on a target device depend on the BINL server, which is delivered by multiple vendors, such as Intel(trademark), IBM(trademark) and Microsoft(trademark). Each platform has different implementations and behaviors. If a number of different operating systems are available for selection on a particular device, there is no way for an administrator to administer the selection of the operating systems.
It would be desirable therefore to provide a method of selecting an operating system that overcomes the above.
One aspect of the present invention provides a method of controlling the selection of operating systems at a first instance of user logon on a target device. A network bootstrap program is initiated at the target device and configuration data of the target device is determined. A selection manager is designated based on the configuration data and the selection of a target operating system is controlled with the selection manager prior to executing an operating system at the target device.
An operating systems list may be presented to the selection manager. A request for the operating systems list may be received from the selection manager. The target operating system may be selected from the operating systems list with the selection manager. The target operating system may be sent to the target device. The network bootstrap program may be relocated after the target operating system is selected. The target operating system may then be executed on the target device
At a subsequent instance of user logon on the target device, a new selection manager may be designated. The selection manager may be, for example, the target device or may be located at a server in communication with the target device.
Another aspect of the present invention provides computer program product in a computer usable medium for controlling the selection of operating systems at a first instance of user logon on a target device. The computer program product may include means for executing network bootstrap program code at the target device. The computer program product may also include means for determining configuration data of the target device and means for designating a selection manager based on the configuration data. The computer program product may also include means for controlling the selection of a target operating system with the selection manager prior to executing an operating system at the target device.
The computer program product may also include means for presenting an operating systems list to the selection manager. The computer program product may also include means for receiving from the selection manager a request for the operating systems list. The computer program product may also include means for selecting a target operating system from the operating systems list with the selection manager and means for sending the target operating system to the target device. The computer program product may also include means for relocating the network bootstrap program code after the target operating system is selected and means for executing the target operating system on the target device.
The computer program product may further include computer readable program code that designates a new selection manager at a subsequent instance of user logon on the target device.
Another aspect of the present invention provides a data processing system comprising means for initiating a network bootstrap program at a target device, means for determining configuration data of the target device, means for designating a selection manager based on the configuration data and means for controlling the selection of a target operating system at a first instance of user logon on the target device before an operating system is executed at the target device.
The system may also include means for receiving from the selection manager a request for an operating systems list, means for presenting the operating systems list to the selection manager, and means for receiving the selection of the target operating system from the operating systems list with the selection manager.
The system may also include means for sending the target operating system to the target device, means for relocating the network bootstrap program after the target operating system is received on the target device, and means for executing the target operating system on the target device.
The system may also include means for designating a new selection manager at a subsequent instance of user logon on the target device.
The foregoing, and other, features and advantages of the invention will become further apparent from the following detailed description of the presently preferred embodiments, read in conjunction with the accompanying drawings. The detailed description and drawings are merely illustrative of the invention rather than limiting, the scope of the invention being defined by the appended claims in equivalence thereof.